package com.ctc.lottery.entity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

/**
* 商品
* @TableName commodity
*/
@Data
@TableName(value ="commodity")
public class Commodity implements Serializable {

    /**
    * id
    */
    @NotNull(message="[id]不能为空")
    @ApiModelProperty("id")
    @TableId
    private String id;
    /**
    * 商品名
    */
    @Size(max= 64,message="编码长度不能超过64")
    @ApiModelProperty("商品名")
    @Length(max= 64,message="编码长度不能超过64")
    private String name;
    /**
    * 库存数量
    */
    @ApiModelProperty("库存数量")
    private Integer amount;
    /**
    * 商品状态(1代表参与抽奖，0代表不参与)
    */
    @ApiModelProperty("商品状态(1代表参与抽奖，0代表不参与)")
    private Integer state;
    /**
    * 单价
    */
    @ApiModelProperty("单价")
    private BigDecimal price;
    /**
    * 删除标志（0代表存在 2代表删除）
    */
    @ApiModelProperty("删除标志（0代表存在 2代表删除）")
    private String delFlag;
    /**
    * 创建者
    */
    @Size(max= 64,message="编码长度不能超过64")
    @ApiModelProperty("创建者")
    @Length(max= 64,message="编码长度不能超过64")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    /**
    * 更新者
    */
    @Size(max= 64,message="编码长度不能超过64")
    @ApiModelProperty("更新者")
    @Length(max= 64,message="编码长度不能超过64")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
    /**
    * 备注
    */
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("备注")
    @Length(max= 500,message="编码长度不能超过500")
    private String remark;
    @Version
    private int version;
}
